package jk.zmn.thread.pros;

/**
 * @author 张梦楠
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: ${todo}
 * @date 2018/5/2619:45
 * @blog www.itzmn.com
 */
public class Movie {

    private String name;

    private boolean flag;//信号，true 生产电影 观看者等待   false  观看电影  生产者等待

    synchronized void  play(String name){

        if (!flag){
            // 观看电影  生产者等待
            try {
                this.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        this.name = name;
        System.out.println("生产了："+name);
        this.notify();
        this.flag = !flag;//生产者停下
    }

    synchronized void watch(){
        if (flag){
            // 观看电影  生产者等待
            try {
                this.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println("观看"+name);

        this.notify();
        this.flag = !flag;//消费者停下
    }

}
